1. Field of the Invention
This invention relates to a numerical control apparatus for a robot, and more particularly to a numerical control apparatus for a robot of the type wherein the movement of the robot between two designated points is performed in a series of single operations and wherein one of the single operations is performed before completion of the prior operation to reduce tact time.
2. Description of the Related Art
A robot system, wherein the movement of the robot between two designated points is performed in a series of single operations and wherein one of the single operations is performed before completion of the prior operation to reduce tact time has previously been proposed in the prior art, as disclosed, for example, in Japanese Patent Laid-Open Application No. Showa 61-136105 or Japanese Patent Laid-Open Application No. Heisei 1-108604.
In the robots of the prior art, as shown in FIG. 1, independent operation trajectories of an operation 1 labelled 101, and another operation 2 labelled 102, which are programmed so as to bypass an obstacle 103, are performed such that the operation 2 is started before completion of the operation 1 so that the operation 1 and the operation 2 may be connected by way of a continuous operation trajectory as shown in FIG. 2 in order to save the deceleration time of the operation 1 and the acceleration time of the operation 2. This will be referred to as performing an overlapping operation, i.e., overlapping operation 1 and operation 2, for purposes of convenience. For convenience of description, the preceding operation is referred to as "operation 1" at 101 while the following operation is referred to as "operation 2" at 102.
Generally, during operation of a robot, the numerical control apparatus for the robot thereof performs the procedures of (1) calculating the trajectory of an operation immediately before the operation is performed; (ii) calculating position information or velocity information for each unit time; (iii) developing the position or velocity information on a RAM; (iv) reading out the position information for each unit time; and (v) delivering position information read out to a servo controller section.
One method of the prior art for controlling the robot operation involves using the point of time at which the operation 2 should be started so as to perform an overlapping operation, that is to overlap performance of operation 2 with operation 1.
This method, however, has certain disadvantages. According to this method, the point of time at which overlapping operation starts to occur can be determined whether or not a particular address of the RAM has been accessed, and the overlapping of the operations is begun when the address has been accessed. Since the starting position at which the overlapping operation occurs is a factor only of time, variation of the operation velocity then also varies the trajectory. Particularly, even though the speed of an operation as shown in FIG. 5 may be lowered upon debugging to bypass an obstacle and take a trajectory as shown in FIG. 6, if the robot later operated at a maximum speed in a main action procedure, then a different and dangerous trajectory such as the one shown in FIG. 7 is traced and the object is not bypassed. Further, this method suffers because the programmer must make complicated calculations to forecast the operation speed of the robot. If the programmer fails to forecast the operation speed or forecasts it incorrectly, then the trajectory cannot be forecast. Thus, programming an operation with a precise trajectory is quite difficult.
On the other hand, another method of the prior art involves using the position at which the second operation 2 should be started so as to perform an overlapping operation. In this method, the operation trajectory information developed on the RAM as described above is read out for each unit time and delivered to the servo control section. When it is read out, the value thereof is compared to a predetermined value and the overlapping operation is started when the value read out coincides with the predetermined value. According to this method, when trying to bypass an obstacle such as 301 as shown in FIG. 3, even if a position 304 from which a trajectory shown at 302 starts is precise, if the position at which the overlapping operation is to be completed is not precise, the programmer cannot forecast the trajectory. As a result, the robot may take another trajectory such as the one shown 303 which leads to a collision with the obstacle.
Further, Japanese Patent Laid-Open Application No. Heisei 1-108604 mentioned above, discloses a method of defining, in advance, an overlapping operation starting point such as 401 and an overlapping operation ending point such as 402, as shown in FIG. 4, for an upwardly moving trajectory and a downwardly moving trajectory, respectively. This method is advantageous when the obstacle has a shape such as that shown by an obstacle 403 in FIG. 4 and the trajectory proximately follows the opposite sides of the obstacle 403. However, when an obstacle has the shape of an obstacle 404 as shown in FIG. 4 and the trajectory proximately follows the upper portion of the obstacle 404, it is difficult to forecast the necessary trajectory. Further, the operation of the robot according to this method includes not only a so-called pick-and-place operation but also a movement bypassing an obstacle as shown in FIG. 4, and this must be taken into consideration.
Thus, it is a problem in the prior art to program a robot operation which accurately avoids obstacles.